<?php

$_RQ['op']=$_RQ['op']?$_RQ['op']:'list';
$return=array();
$setting=$this->plugin_setting('setting');
$tabs=array(
	array('op'=>'list','title'=>'分销商等级管理'),
	array('op'=>'edit','title'=>'添加/编辑等级'),
);
set_html('tabs',$tabs);
if($_RQ['op']=='list'){
	$params=array('uniacid'=>$_SESSION['uniacid']);
    $orderby='level asc';
	$total='';
	$return['list']=$this->getall('level',$params,array(),'',$orderby);
	foreach($return['list'] as &$item){
		$item['commissions']=$item['commissions']?json_decode($item['commissions'],true):array();
		$item['conditions']='默认等级';
	}
	//添加默认等级
	$default_level=array(
		'id'=>'0',
		'title'=>'默认等级',
		'level'=>0,
		'conditions'=>'默认等级',
		'commissions'=>$this->plugin_setting('default_level')?:array('commission1'=>'0.00'),
	);
	$fee_num=$setting['fee_num']?:4;
	$fee_numfast=$fee_num-1;
	array_unshift($return['list'],$default_level);
	$htmls=array(
		'type'=>'list',
		'list'=>array('data'=>'list','tip'=>'[温馨提示]：如果基本设置开启了《<red>按(商品佣金设置/等级佣金设置)的字面意思</red>》模式，《直推复购佣金》跟《直推第'.$fee_num.'人起佣金》，不能同时存在，否则，默认生效《直推复购佣金》！<red>平级佣金</red>，是指平级下线佣金收入的%','edit'=>false,'list'=>array(
			array('name'=>'title','title'=>'等级名称','type'=>'string'),
			array('name'=>'level','title'=>'等级权重','type'=>'string'),
			array('name'=>'commissions.levelfee','title'=>'平级奖','type'=>'string'),
			array('name'=>'commissions.commission1_0','title'=>'销售奖','type'=>'string'),
			array('name'=>'commissions.commission1_1','title'=>'复购奖','type'=>'string'),
			array('name'=>'commissions.commission1_2','title'=>'级差奖','type'=>'string'),
			array('name'=>'commissions.chaoyue','title'=>'超越奖','type'=>'string'),
			array('name'=>'commissions.quanfee','title'=>'全球业绩奖','type'=>'string'),
			//array('name'=>'commissions.commission1_2','title'=>'直推第'.$fee_num.'人起佣金','type'=>'string'),
			//array('name'=>'commissions.commission2_0','title'=>'间推前'.$fee_numfast.'人佣金','type'=>'string'),
			//array('name'=>'commissions.commission2_1','title'=>'间推第'.$fee_num.'人起佣金','type'=>'string'),
		),'action'=>array(
			array('op'=>'look_condition','title'=>'升级条件','type'=>'modal','show'=>array('level >'=>0)),
			array('op'=>'edit','title'=>'编辑','type'=>'href','show'=>array('level >'=>0)),
			array('op'=>'set_default','title'=>'设置默认佣金','type'=>'href','show'=>array('level'=>0)),
		)),
	);
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='look_condition'){
	$item=$this->get('level',array('id'=>intval($_RQ['id']),'uniacid'=>$_SESSION['uniacid']),array('conditions'));
	if(!$item){
		exi('指定等级不存在！','error');
	}
	
	$item['conditions']=json_decode($item['conditions'],true);
	$return['item']=$item;
	if(!$item['conditions']){
		exi('该等级尚未设置升级条件！','error');
	}
	$htmls=array(
		'type'=>'look',
		'look'=>array(),
	);
	$level_up_types=$this->level_up_types;
	$current_level_up_types=$this->model()->current_level_up_types();
	foreach($current_level_up_types as $type){
		$htmls['look'][]=array('type'=>'string','name'=>'conditions.'.$type,'title'=>$level_up_types[$type]);
	}
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='edit'){
	$id=intval($_RQ['id']);
	if($id){
		$item=$this->get('level',array('id'=>$id,'uniacid'=>$_SESSION['uniacid']));
		$item['conditions']=$item['conditions']?json_decode($item['conditions'],true):array('order_price'=>'0');
		$item['commissions']=$item['commissions']?json_decode($item['commissions'],true):array('commission1'=>'0.00');
	}else{
		$item=array(
			'title'=>'',
			'conditions'=>array('order_price'=>'0'),
			'commissions'=>array('commission1'=>'0.00'),
		);
	}
    $return['item']=$item;
	$htmls=array(
		'type'=>'edit',
		'post'=>'post',
		'desc'=>'分类设置',
		'edits'=>array(array('title'=>'基本信息','list'=>array(
			array('name'=>'title','title'=>'等级名称','type'=>'string'),
			array('name'=>'level','title'=>'等级权重','type'=>'string','help'=>'填写一百以内的数字，数字越大表示等级越高！不同等级的等级权重不得相等！'),
		))),
	);
	//升级条件表单
	$condition_edit=array(
		'title'=>'升级条件',
		'list'=>array(),
	);
	$level_up_types=$this->level_up_types;
	$current_level_up_types=$this->model()->current_level_up_types();
	foreach($current_level_up_types as $type){
		$condition_edit['list'][]=array('type'=>'string','name'=>'conditions.'.$type,'title'=>$level_up_types[$type]);
	}
	$htmls['edits'][]=$condition_edit;
	$fee_num=$setting['fee_num']?:4;
	$fee_numfast=$fee_num-1;
	$commission_edit=array(
		'title'=>'佣金比例',
		'list'=>array(
					array('type'=>'string','name'=>'commissions.levelfee','title'=>'平级奖励','help'=>'<red>平级佣金</red>，设置--平级佣金基数方式；本等级的平级后的奖励；填写百分数比例。填写10%表示获得下级平级的总收入10%'),
					array('type'=>'string','name'=>'commissions.commission1_0','title'=>'销售奖','help'=>'又称首次销售奖（销售奖是第一次推送给其他未注册成为分销商的人，购买后获得100元销售奖 只有第一次推荐是有 其余都没有）填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('type'=>'string','name'=>'commissions.commission1_2','title'=>'级差奖','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('type'=>'string','name'=>'commissions.commission1_1','title'=>'复购奖','help'=>'自身复购奖励（非上级），填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('name'=>'commissions.chaoyue','title'=>'超越奖','type'=>'string','help'=>'按周期结算；拿下级超越后佣金的%'),
					array('name'=>'commissions.chaoyue_sale','title'=>'超越奖(其他下线完成单量)','type'=>'unitstring','unit'=>'笔','help'=>'其他下线完成单量，才能获得超越奖！'),
					array('name'=>'commissions.quanfee','title'=>'全球业绩奖','type'=>'string','help'=>'按周期结算；拿全平台新增业绩的%奖励'),
					//array('type'=>'string','name'=>'commissions.commission1_2','title'=>'直推第'.$fee_num.'人起佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					//array('type'=>'string','name'=>'commissions.commission2_0','title'=>'间推前'.$fee_numfast.'人佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					//array('type'=>'string','name'=>'commissions.commission2_1','title'=>'间推第'.$fee_num.'人起佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金')
		),
	);
	$htmls['edits'][]=$commission_edit;
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='post'){
	$postdata=get_postdata();
	$data=array(
		'title'=>trim($postdata['title']),
		'level'=>intval($postdata['level']),
		'conditions'=>$postdata['conditions']?ijson_encode($postdata['conditions']):'',
		'commissions'=>$postdata['commissions']?ijson_encode($postdata['commissions']):'',
	);
	if($data['level']<=0 || $data['level']>100){
		exi('请填写正确的等级权重值，1-100','error');
	}
	if(!$data['title']){
		exi('请填写标题','error');
	}
	
	$id=intval($postdata['id']);
	if($id){
		$this->update('level',$data,array('id'=>$id));
		exi('设置成功！','','list');
	}else{
		$data['uniacid']=$_SESSION['uniacid'];
		$this->insert('level',$data);
		exi('添加成功！','','list');
	}
}
if($_RQ['op']=='set_default'){
	//设置默认佣金比例
	if($_RQ['postdata']){
		$post=get_postdata();
		$this->plugin_setting('default_level',$post);
		exi('默认等级佣金设置成功！','','list');
	}
	$item=$this->plugin_setting('default_level');
	if(!$item){
		$item=array('commission1_0'=>'0.00');
	}
	$return['item']=$item;
	$fee_num=$setting['fee_num']?:4;
	$fee_numfast=$fee_num-1;
	$htmls=array(
		'type'=>'edit',
		'desc'=>'设置默认佣金',
		'edit'=>array(
					array('type'=>'string','name'=>'commission1_0','title'=>'直推首次佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('type'=>'string','name'=>'commission1_1','title'=>'直推复购佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('type'=>'string','name'=>'commission1_2','title'=>'直推第'.$fee_num.'套起佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('type'=>'string','name'=>'commission2_0','title'=>'间推前'.$fee_numfast.'套佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金'),
					array('type'=>'string','name'=>'commission2_1','title'=>'间推第'.$fee_num.'套起佣金','help'=>'填写数字表示实际佣金金额，填写百分数表示比例。例如填写1表示发放1元佣金，填写1%表示发放商品价格1%的佣金')
		),
	);
	$return['htmls']=$htmls;
	exi($return);
}
if($_RQ['op']=='del'){

	$id=intval($_RQ['id']);
	if($id){
		pdo_delete('jy_newshopfee_level',array('id'=>$id));	
	}
	if(!$id){
		exi('默认等级不能删除！','error');
	}
	$del=trim($_RQ['del'],';');
	if($del){
		$del=explode(';',$del);
		foreach($del as $id){
			$id=intval($id);
			if($id){
				pdo_delete('jy_newshopfee_level',array('id'=>$id));
			}
		}
	}
	exi('删除成功！');
}
?>